/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package appfinal;

import java.util.ArrayList;

/**
 *
 * @author Hugo Cornejo
 */
public class AdmGrupoEstudio {

    private ArrayList<GrupoEstudio> grupoestudios;
    
    public AdmGrupoEstudio() {
        grupoestudios= new ArrayList<GrupoEstudio>();
    }
    
    public void registrarGrupoEstudio(String codigo,String nombregrupo,String descripcion,String academia,String curso,String fechainicio,String fechafin,String instructor,String link,String local,String aula,String coordenadas) 
            throws BusinessException 
    {
        validarDatos(codigo, nombregrupo, fechainicio, fechafin);        
        
        GrupoEstudio nuevoGrupoEstudio = new GrupoEstudio(codigo, nombregrupo, descripcion, academia, curso, fechainicio, fechafin, instructor, link, local, aula, coordenadas);
        
        grupoestudios.add(nuevoGrupoEstudio);
    }
    
        public GrupoEstudio buscarGrupo(String codigo) {
        for(GrupoEstudio grupoestudio : grupoestudios)
            if (grupoestudio.getCodigo().equals(codigo))
                return grupoestudio;
        return null;
    }
        
        private void validarDatos(String codigo, String nombregrupo, String fechainicio, String fechafin)
            throws BusinessException 
    {
        validarMandatorios(codigo, nombregrupo, fechainicio, fechafin);
        validarDuplicidad(codigo);
    }

    private void validarMandatorios(String codigo,String nombregrupo, String fechainicio, String fechafin)
            throws BusinessException 
    {
        String mensaje = "";
        if (codigo == null || codigo.isEmpty())
            mensaje += "Codigo no puede ser vacio o nulo";
        if (nombregrupo == null || nombregrupo.isEmpty())
            mensaje += "\nNombre no puede ser vacio o nulo";
        if (fechainicio == null || fechainicio.isEmpty())
            mensaje += "\nFecha de Inicio no puede ser vacio o nulo";
        if (fechafin == null || fechafin.isEmpty())
            mensaje += "\nFecha de Fin no puede ser vacio o nulo";
        if (! mensaje.isEmpty())
            throw new BusinessException(mensaje);        
    }

    private void validarDuplicidad(String codigo) 
            throws BusinessException 
    {
        if (buscarGrupo(codigo) != null){
            String mensaje = "Error : " + codigo + " ya existe";
            // Crear la excepcion y lanzarla
            throw new BusinessException(mensaje);
        }
        
    }

    public void eliminarGrupo(String codigo) {
        GrupoEstudio grupoestudio = buscarGrupo(codigo);
        if (grupoestudio != null)
            grupoestudios.remove(grupoestudio);
    }

    
}
